package org.dcma.client.grids;

import java.util.ArrayList;
import java.util.List;

import org.dcma.model.UsuarioModel;
import org.dcma.tests.testdata.TestData;

import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.user.client.Element;

public class GridUsuarios extends LayoutContainer {
	protected void onRender(Element parent, int index) {  
	     super.onRender(parent, index);  
	     setLayout(new ColumnLayout());  
	   

	   
	     List<ColumnConfig> configs = new ArrayList<ColumnConfig>();  
	   
	     ColumnConfig column = new ColumnConfig();  
	     column.setId("apellidos");  
	     column.setHeader("APELLIDOS");
	     column.setAlignment(HorizontalAlignment.LEFT);
	     column.setWidth(130);  
	     configs.add(column);  
	       
  
	     column = new ColumnConfig("nombre", "NOMBRES", 130);  	      
	     column.setAlignment(HorizontalAlignment.LEFT);	     
	     configs.add(column);  
	     
	     column = new ColumnConfig("documento", "DOCUMENTO", 100);  	     
	     column.setAlignment(HorizontalAlignment.LEFT);
	     column.setWidth(200);   
	     configs.add(column);
	          
	     ListStore<UsuarioModel> listStoreSolicitante = new ListStore<UsuarioModel>();  
	     listStoreSolicitante.add(TestData.getSolicitantes()); 
	     
	     ListStore<UsuarioModel> listStoreInvitados = new ListStore<UsuarioModel>();  
	     listStoreInvitados.add(TestData.getInvitados()); 
	   
	     ColumnModel cm = new ColumnModel(configs);  
	   
	     ContentPanel cp = new ContentPanel();  
	     cp.setBodyBorder(false);  
	     
	     cp.setHeading("Lista de Solicitantes");  	   
	     cp.setLayout(new FitLayout());  
	     cp.setSize("99%","100px");  
	     
	     ContentPanel cp2 = new ContentPanel();  
	     cp2.setBodyBorder(false);  
	     
	     cp2.setHeading("Lista de Invitados");  	   
	     cp2.setLayout(new FitLayout());  
	     cp2.setSize("99%","100px");
	   
	     /*
	      *listStore es la lista proveniente del ModelData
	      *cm es el modelo de columnas 
	      */
	     
	     Grid<UsuarioModel> gridSolicitantes = new Grid<UsuarioModel>(listStoreSolicitante, cm);  
	     gridSolicitantes.setStyleAttribute("borderTop", "none");  
	     gridSolicitantes.setAutoExpandColumn("nombre");  
	     gridSolicitantes.setBorders(true);  
	     gridSolicitantes.setStripeRows(true); 	     
	     cp.add(gridSolicitantes); 
	     
	     Grid<UsuarioModel> gridInvitados = new Grid<UsuarioModel>(listStoreInvitados, cm);  
	     gridInvitados.setStyleAttribute("borderTop", "none");  
	     gridInvitados.setAutoExpandColumn("nombre");  
	     gridInvitados.setBorders(true);  
	     gridInvitados.setStripeRows(true);	     
	     cp2.add(gridInvitados); 
	   
	     add(cp);
	     add(cp2);
	   }
}
